Deployment Process
Use Case 1: Feature Branches Environments: Azure Feature Namespaces
Developers create separate feature branches for each new feature or task. They work independently on their features without affecting the main codebase. Once a feature is developed and tested, a pull request (PR) is created for the Develop branch. Features can be tested on the dedicated feature namespaces on Azure for each team.
Use Case 2: Develop Branch (DEV/TEST): Environment: Azure DEV Namespace
The Develop branch serves as an integration step for individual feature branches. Developers create PRs for their completed features and conduct code reviews. Code reviews ensure that the code meets the requirements and integrates well. When the PR is approved, the code is merged into the Develop branch.
Use Case 3: Release branch (PRE-PROD/TEST): Environments: SAPM/W
The Release branch is created for creating a release candidate. The state with the release candidate tag from the Develop branch is merged into the Release branch Commits to the release branch must include a tag (e.g. 9.38-rc-1, see naming convention for release candidate tagging) in order to trigger the release pipeline. The tag represents the service's version and is added as image tag during the build pipeline.
Preparations for the release take place in the Release branch, including final tests, bug fixes, etc. Once preparations are complete and the release candidate is stable enough, it is moved to the pre-production environment (SAPM/SAPW managed by ITSCare)